#ifndef FUNCTOR_HPP
#define FUNCTOR_HPP

namespace TermStructure {
    //! a common requirement for all functors.
    /*! A common requirement for all functors. Operator() is required.
     */
    template <typename T>
    class AbstractFunctor
    {
    public:
        virtual T operator()(const T& x) const = 0;
    };
}

#endif
